// API 基础配置
const API_BASE_URL = '/api';

// 响应拦截器
axios.interceptors.response.use(
    response => {
        const res = response.data;
        // 如果返回的状态码不是200，说明接口请求有误
        if (res.code !== 200) {
            // 401: 未登录或token过期
            if (res.code === 401) {
                // 显示未登录提示
                layer.msg('请先登录', {icon: 2});
                // 跳转到登录页
                setTimeout(() => {
                    window.location.href = '/login.html';
                }, 1500);
            } else {
                // 其他错误
                layer.msg(res.msg || '系统错误', {icon: 2});
            }
            return Promise.reject(new Error(res.msg || '系统错误'));
        } else {
            return res;
        }
    },
    error => {
        console.error('请求错误:', error);
        layer.msg('系统错误，请稍后重试', {icon: 2});
        return Promise.reject(error);
    }
);

// 封装GET请求
function get(url, params) {
    return axios.get(API_BASE_URL + url, {params});
}

// 封装POST请求
function post(url, data) {
    return axios.post(API_BASE_URL + url, data);
}

// 封装PUT请求
function put(url, data) {
    return axios.put(API_BASE_URL + url, data);
}

// 封装DELETE请求
function del(url) {
    return axios.delete(API_BASE_URL + url);
}

// 导出请求方法
window.api = {
    get,
    post,
    put,
    delete: del
}; 